//
// Cuisinier.hpp for plazza in /home/peelou/SVN/pizzaillo
// 
// Made by gery baudry
// Login   <baudry_g@epitech.net>
// 
// Started on  Mon Apr 15 16:27:18 2013 gery baudry
// Last update Wed Apr 17 16:34:55 2013 kevin lansel
//

#ifndef		CUISINIER_HPP__
# define	CUISINIER_HPP__

#include	<iostream>
#include	<string>
#include	<map>
#include	"APizza.hpp"
#include	"Stock.hpp"
#include	"Thread.hpp"
#include	"Plazza.hpp"
#include	"Time.hpp"
#include	"Factory.hpp"

class		Cuisinier : public Thread
{
public:
  Cuisinier();
  virtual ~Cuisinier();

public:
  APizza		*createpizza(int);
  bool			setCommande(TypePizza, TaillePizza);

public:
  bool		getEn_prepa() const;
  bool		getEn_attente() const;
  TaillePizza	getTai_pizactu() const;
  TaillePizza	getTai_pizatt() const;
  TypePizza	getTyp_pizatt() const;
  TypePizza	getTyp_pizactu() const;
  Time		getTime() const;
  Stock		*getStock() const;

public:
  void		setEn_prepa(bool en_prepa);
  void		setEn_attente(bool en_attente);
  void		setTai_pizactu(TaillePizza tai_pizactu);
  void		setTai_pizatt(TaillePizza tai_pizatt);
  void		setTyp_pizactu(TypePizza typ_pizactu);
  void		setTyp_pizatt(TypePizza typ_pizatt);
  void		setTime(Time t);
  void		*setStock(Stock *check);

private:
  bool		_en_prepa;
  bool		_en_attente;
  TaillePizza	_tai_pizactu;
  TaillePizza	_tai_pizatt;
  TypePizza	_typ_pizactu;
  TypePizza	_typ_pizatt;
  Time		_t;
  Stock		*_check;
};

#endif
